<?php
########################################################################################
# Empresa :     Tecnopac Informatica;                                                  #
# Autor:        Deiverson Pacheco;                                                     #
# Data Criação: 10/12/2010;                                                            #
########################################################################################
session_start();
header("Cache-control: private");
include_once("../../includes/session.php");


//Linha para formatação de caracteres com acentuação
header("Content-Type: text/html; charset=ISO-8859-1",true);


//======================================================================================
//==> Include obrigatórias no script
//======================================================================================
include_once('../../includes/classes/class.TemplatePower.php');
include_once('../../includes/classes/class.Conexao.php');
include_once('../../includes/classes/class.Geral.php');

//======================================================================================
//==> Inicializar Classes
//======================================================================================
$not  = new Persist;
$not2 = new Persist;
$data = new getData;
$cor  = new ColorTr;
$util = new Util;
$vld  = new ValidarDados;
$sql  = new SqlInjection;

//======================================================================================
//==> Instanciar TemplatePower para juntar o PHP + HTML
//======================================================================================
$tpl  = new TemplatePower('../../html/estoque/entrada_estoque_man.html');
$tpl->prepare();
extract($_REQUEST);

//======================================================================================
//==> Recebe variaveis de pesquisa
//======================================================================================
$id         = @$_GET['id'];
$nrnota     = @$sql->tratar($_GET['nrnota'],40);
$oc         = @$sql->tratar($_GET['oc'],50);
$id_produto = @$sql->tratar($_GET['id_produto'],50);
$id_local   = @$sql->tratar($_GET['id_local'],10);
$qtde       = @$sql->tratar($_GET['qtde'],5);
$evento     = @$sql->tratar($_GET['evento'],50);

//captura data e hora atual
$dt = $data->getDataHoje('-').' '.$data->getHora();


$tpl->assign('botao2','<input type="button" value="Voltar a consulta" onClick="volta_list_entrada_estoque();">');

if($evento != 'editar'){
	$tpl->assign('botao','<input type="button" value="Salvar novo" onClick="salvar_entrada_estoque();">');
}else{
	$tpl->assign('botao','<input type="button" value="Salvar altera&ccedil;&atilde;o" onClick="salvar_edit_entrada_estoque();">');
}

//======================================================================================
//==> Executa case conforme evento
//======================================================================================

if(isset($evento)){
	switch($evento){
		
		case 'salvar': {

			$not->sql = "insert into entrada_estoque
						(nr_nota, oc, id_produto,id_descricao, id_local, qtde, uid, ativo, data_hora) 
						 values 
						('$nrnota', '$oc', '$id_produto','$id_descricao', '$id_local', '$qtde', '$ID_USUARIO', '1', '$dt')";
			$not->ins();
			
			//seleciona o ultimo registro inserido para tela de edicao
			$not->sql = "SELECT MAX(id) AS id FROM entrada_estoque";
			$not->ler();
			$not->ini();
			$nr_entrada = $not->id;

			//verifica se ja ha uma entrada no estoque para esse produto e local
			$not->sql = "SELECT id, qtde FROM estoque WHERE id_produto = '$id_produto' AND id_descricao_produto = '$id_descricao' AND id_local = '$id_local' ";
			
			if($not->ler() > 0){
				$not->ini();
				$qt = $not->qtde + $qtde;
				$id_estoque = $not->id;
				$not->sql = "Update estoque set qtde = '$qt' where id = '$id_estoque' ";	
				$not->alt();
			}else{
				if($id_local == ''){$id_local = 1;}
				
				$not->sql = "Insert into estoque (id_produto,id_descricao_produto, id_local, qtde, ativo, uid, data_hora)
				            values ('$id_produto','$id_descricao', '$id_local', '$qtde', '1', '$ID_USUARIO', '$dt')";	
				$not->ins();
			}
			
			//print "php/estoque/entrada_estoque_man.php?evento=editar&id=$nr_entrada";
			print "php/estoque/entrada_estoque.php";
			exit;

		break;
		}		

		case 'estorna': {
			
			$codigos = explode(";",$id);
			
			for($i=0;count($codigos)>$i;$i++){ 
			
				$not->sql = "SELECT id FROM entrada_estoque WHERE id = '$codigos[$i]' and estorno = '1' ";
				if($not->ler() <= 0){

					//classifica entrada como estornada
					$not->sql = "update entrada_estoque set estorno='1', uid_alt = '$ID_USUARIO', data_hora_alt = '$dt' where id = '$codigos[$i]'";
					$not->alt();
					
					//localiza os dados a ser estornados 
					$not->sql = "SELECT id, qtde, id_local, id_produto, id_descricao FROM entrada_estoque WHERE id = '$codigos[$i]' ";
					$not->ler();
					$not->ini();
					
					//carrega a variavel de memoria para calculos
					$qtde       = $not->qtde;
					$id_local   = $not->id_local;
					$id_produto = $not->id_produto;
					$id_descricao = $not->id_descricao;
					$not->sql = "SELECT qtde, id FROM estoque WHERE
									id_descricao_produto = $id_descricao
										AND
									 		id_produto = '$id_produto' 
												AND
													 id_local = '$id_local' ";
					if($not->ler() > 0){
					   $not->ini();
					   $qt         = $not->qtde - $qtde;
					   $id_estoque = $not->id;
					   
					   $not->sql = "Update estoque set qtde = '$qt' where id = '$id_estoque' ";	
					   $not->alt();
					}
				}else{
					print "Voce selecionou lancamento que ja foi estornado<br><br>";
					print '<input type="button" value="Voltar a consulta" onClick="volta_list_entrada_estoque();">';
					exit;
				}

			}		
				
			print '<input type="button" value="Voltar a consulta" onClick="volta_list_entrada_estoque();">';
			exit;
		break;
		}
	}
}


//======================================================================================
//==> Enviar página unificada PHP + HTML
//======================================================================================
$tpl->showUnAssigned( false );  // para debug. na hora de publicar, setar para false
$tpl->printToScreen();
?>